FPGA DAC模块 SPI通信 |
您所在的位置:网站首页 › actel FPGA 分配管脚 › FPGA DAC模块 SPI通信 |
一 SPI通信
1.串行外设接口(SPI)是微控制器和外围IC(如传感器、ADC、DAC、移位寄存器、SRAM等)之间使用最广泛的接口之一。 2.SPI是一种同步、全双工、主从式接口。来自主机或从机的数据在时钟上升沿或下降沿同步。主机和从机可以同时传输数据。SPI接口可以是3线式或4线式。 SPI总线传输只需要4根线就能完成,这四根线的作用分别如下: SCK (Serial Clock):时钟信号线,用于同步通讯数据。由通讯主机产生,决定了通讯的速率,不同的设备支持的最高时钟频率不同 MOSI (Master Output, Slave Input):主设备输出/从设备输入引脚。主机的数据从这条信号线输出,从机由这条信号线读入主机发送的数据,数据方向由主机到从机MISO (Master Input,Slave Output):主设备输入/从设备输出引脚。主机从这条信号线读入数据,从机的数据由这条信号线输出到主机,数据方向由从机到主机CS (Chip Select):片选信号线。当有多个 SPI 从 设备与 SPI 主机相连时,设备的其它信号线 SCK、MOSI 及 MISO 同时并联到相同的 SPI 总线上,即无论有多少个从设备,都共同使用这 3 条总线;而每个从设备都有独立的片选信号线,即有多少个从设备,就有多少条片选信号线。相当于由SPI构成的通信系统中,通过CS片选信号来决定通信的从机设备是哪一台。通信期间低电平有效,表示对应从机被选中 二 DAC8830DAC8830是TI的TI一款DAC芯片,他支持16bit数据输入,同时建立时间为1us,支持标准的3线SPI接口,最快可支持50Mhz。 以下是接口定义 总线主设备将芯片选择信号CS拉低,表示要访问DAC模块。 在CS处于低电平状态时,总线主设备生成同步时钟信号SCLK,并将串行输入数据SDI按照时钟的下降沿进行传输。数据从总线主设备经由SDI线逐位地传输到DAC模块。 DAC模块在SCLK的下降沿时,将串行输入数据SDI的每一位依次存储到输入移位寄存器中。通常情况下,最高有效位(MSB)先传输,并在SCLK的上升沿锁存到输入移位寄存器中。 当CS由低电平变为高电平时,表示数据传输完成,并且同时更新输出。为了传输一个完整的数据,CS必须在16个SCLK后立即变为高电平。 CS信号从DAC更新到下一次传输开启的时间间隔不能小于30ns 三 程序设计 模块设计![]() 输入信号: clk:时钟信号,模块在时钟上升沿执行。rst_n:复位信号,低电平有效,当复位信号为低电平时,模块会清零输出数据,并将使能信号、DAC8830 时钟、数据和片选信号都输出为高电平。start:开始信号,高电平有效,当开始信号为高电平时,模块会将输入数据赋值给输出数据,并将使能信号设置为高电平。data_in:16位的输入数据信号,用于传输到 DAC8830 芯片。输出信号: SCLK:DAC8830 时钟信号,用于控制数据传输时序。DIN:DAC8830 数据输入信号,传输到 DAC8830 芯片的串行数据。CS:DAC8830 片选信号,用于选择 DAC8830 芯片。done:传输完成信号,用于指示数据传输完成。 时序图![]() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |